<?php

/**
 * Table.
 *
 * @author  yyc
 * @version 1.0
 * @package main
 * @date 2017-06-07 0007
 * @time 17:33:33
 */

/**
 *
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛Code is far away from bug with the animal protecting
 * 　　　　┃　　　┃    神兽保佑,代码无bug
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 *
 * ━━━━━━感觉萌萌哒━━━━━━
 */

namespace server;


class Table
{
    private static $instance;
    public $table;

    public function __construct()
    {
        self::$instance =& $this;
    }
    public static function &get_instance()
    {
        return self::$instance;
    }
    public function create(){
        $this->table = new \swoole_table(1024);
        $this->table ->column('num', \swoole_table::TYPE_INT, 8);
        $this->table->create();
    }

    public function getSequenceId(){
        if($this->table->exist('Sequence_Id')){
            $SequenceId = $this->table->get('Sequence_Id');
            if($SequenceId){
                $Sequence_Id = $SequenceId['num'];
                if( $Sequence_Id >= PHP_INT_MAX){
                    $Sequence_Id = 1;
                }
                $Sequence_Id ++;
            }else{
                $Sequence_Id = 1;
            }
        }else{
            $Sequence_Id = 1;
        }
        $this->table->set('Sequence_Id',['num'=>$Sequence_Id]);
        return $Sequence_Id;
    }
}